var express = require('express');
var router = express.Router();
const path = require('path');
const fs = require('fs');

//加载mysql数据库
let mysql = require("mysql");
//配置mysql数据库
let config = {
    host: "localhost", //数据库连接服务
    port: 3306, //数据库端口
    user: "root", //数据库用户名
    password: "root", //数据库密码
    database: "student", //选择要操作的库房
}
//连接数据库
let connection = mysql.createConnection(config);

//判断是否连接成功
connection.connect((err) => {
    if (err) {
        console.log("连接数据库失败")
    } else {
        console.log("数据库连接成功")
    }
})


router.get("/log", (req, res) => {
    //res.send("登录")
    res.render("pages/log.html")
})
router.get("/register", (req, res) => {
    //res.send("注册")
    res.render("pages/register.html")
})
router.get("/index", (req, res) => {
    // if (req.cookies.user) {
    res.render("index.html");
    //   } else {
    //res.send("")  
    //       res.redirect("/log");
    //   }
});
router.post("/log", (req, res) => {
    //console.log(req.body);
    let user = req.body; //获取表单提交的值
    // console.log(user,persons);
    let sql = `select * from member`;
    connection.query(sql, (err, doc) => {
        if (err) {
            console.log("数据获取失败");
        } else {
            let u = doc.find((item) => {
                return item.username == user.username && item.password == user.password
            })
            if (u) {
                // 存储到cookie中
                res.cookie("user", user.username);
                res.redirect("/api/index"); //跳转功能
                // res.send("成功")
            } else {
                res.send("用户名或者密码错误");
            }

        }
    })
})
//验证码
let svgCaptcha = require("svg-captcha");
router.get("/svgcode", (req, res) => {
    //生成验证码
    let Captcha = svgCaptcha.create({
        size: "4", //生成验证码多少位大小
        fontSize: "40", //控制验证码的字体大小
        width: "120", //控制验证码长度
        height: "40", //控制验证码的高度
    });
    //使用cookie存储验证码的值
    res.cookie("yzm", Captcha.text);
    // console.log(Captcha.text);
    res.type("svg"); //使用svg格式生成图片
    res.send(Captcha.data); //将验证码发送给前端
    // console.log(yzm);
})

router.post("/register", (req, res) => {
    let {
        username,
        password
    } = req.body; //获取表单提交的值
    let sql = `select * from member`;
    connection.query(sql, (err, doc) => {
        if (err) {
            console.log("数据获取失败");
        } else {
            let u = doc.findIndex((item) => {
                return item.username == username
            })
            console.log(username, password);
            // console.log(u);
            if (u == -1) {
                if (req.cookies.yzm.toUpperCase() == req.body.svg.toUpperCase()) {
                    let sql = `insert into member (username,password) value ("${username}",${password})`
                    connection.query(sql, (err) => {
                        if (err) {
                            console.log("添加失败");
                        } else {
                            console.log("添加成功");
                        }
                    });
                    res.send("注册成功")
                } else {
                    res.send("验证码错误")
                }
                // res.send("不存在")
            } else {
                if (req.cookies.yzm.toLowerCase() == req.body.svg.toLowerCase()) {
                    res.writeHead(200, {
                        'content-type': 'text/html;charset=utf-8'
                    });
                    res.end('用户已存在');
                } else {
                    res.writeHead(200, {
                        'content-type': 'text/html;charset=utf-8'
                    });
                    res.send("验证码错误")
                }
            }
        }
    })

    // res.send(persons);
    // console.log(persons)

})
module.exports = router;